#唐门优测
#道长最帅666
""
"""
"""
from selenium import webdriver
from selenium.webdriver.common.by import By
"1,id定位"
#实例化浏览器驱动
driver = webdriver.Chrome()
#窗口最大化
driver.maximize_window()
#打开百度
driver.get("http://www.baidu.com")
#1，第一种定位方式
# driver.find_element_by_id('kw').click()
# driver.find_element_by_id('kw').send_keys("唐门")
#2，第二种定位方式
# driver.find_element(By.ID,'kw').click()
# driver.find_element(By.ID,'kw').send_keys("道长")

"2,name定位"
# driver.find_element_by_name('wd').click()
# driver.find_element_by_name('wd').send_keys('道友')
#
# driver.find_element(By.NAME,'wd').click()
# driver.find_element(By.NAME,'wd').send_keys('lalalla')

"3,class name 定位"
# driver.find_element_by_class_name('s_ipt').click()
# driver.find_element_by_class_name('s_ipt').send_keys('666')

"4,tag name定位"
# driver.find_element_by_tag_name('input').click()
# driver.find_element_by_tag_name('input').send_keys('888')

"5,link_text定位，link_text作用于a标签，link_text用于全部匹配文本值" \
""
# driver.find_element_by_link_text('新闻').click()
# driver.find_element_by_link_text('新').click()

"6,partial_link_text定位，作用于a标签，用于部分匹配文本值"
# driver.find_element_by_partial_link_text('新').click()
# driver.find_element_by_partial_link_text('新闻').click()

"7,xpath定位"
"""
xpath基本定位语法
表达式       说明
/            绝对定位从根节点选取
//           相对定位，从匹配选择的当前节点选择文档中的节点，而不考虑他们的位置
.             选取当前节点
..           选取父节点
@            选取属性，@class='xxx' @id='xxx',属性放在中括号[]中
*            通配符。匹配所有  //*
@*            通配符。匹配所有属性   //*[@*='xxx']
//*[@id="kw"]
/html/body/div[1]/div[2]/div[5]/div[1]/div/form/span[1]/input

文本、模糊、逻辑定位
1，文本定位：使用text()元素的text内容，如：//input[text()='登录']
2，模糊定位：使用contains包含函数 如：//input[contains(text()='登录')]，//input[contains(@class,'s_ipt')]
3,逻辑运算符：and or 如：//input[@name='phone' and @id = 'xxx']
"""
driver.find_element_by_xpath('//*[@id="kw"]').click()
driver.find_element_by_xpath('/html/body/div[1]/div[2]/div[5]/div[1]/div/form/span[1]/input').click()

"8，css定位"
driver.find_element_by_css_selector('#kw').click()
